package com.hyjx.framework.service.session;

import javax.servlet.http.HttpServletRequest;

/**
 * 基础缓存接口
 */
public interface ISession {
    /**
     * 存入Session数据
     *
     * @param key   键值
     * @param value 缓存信息
     */
    void set(String key, Object value);
    
    void setByRequest(HttpServletRequest request, String key, Object value);
    
    /**
     * 取Session数据
     *
     * @param key 键值
     * @return 缓存信息
     */
    Object get(String key);
    
    /**
     * 移除Session信息
     *
     * @param key 键值
     */
    void remove(String key);
    
    /**
     * 取Session数据（字符串）
     *
     * @param key 键值
     * @return session信息
     */
    String getString(String key);
    
    /**
     * 设置session失效
     */
    void invalidate();
    
    /**
     * 强制设置值
     *
     * @param key
     * @param value
     */
    void forceSet(String key, Object value);
}
